package com.ruicar.afs.cloud.apply.contract.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruicar.afs.cloud.apply.common.entity.ApplyContractInfo;
import com.ruicar.afs.cloud.apply.contract.vo.ApplyActiveContractVo;
import com.ruicar.afs.cloud.apply.contract.vo.ApplyAllAomVo;
import com.ruicar.afs.cloud.apply.contract.vo.ApplyContractVinVo;
import com.ruicar.afs.cloud.apply.contract.vo.ApplyStatisticsVo;
import com.ruicar.afs.cloud.bizcommon.business.condition.ApplyTotalCondition;
import com.ruicar.afs.cloud.common.core.security.vo.RoleVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: Lee
 * @date: 2020/5/22 12:47
 * @description:
 */
public interface ApplyContractInfoMapper extends BaseMapper<ApplyContractInfo> {
    /**
     * 获取合同申请数量
     * */
    List<ApplyContractInfo> getContractCount(@Param("query") ApplyTotalCondition applyTotalCondition);
    List<ApplyStatisticsVo> getContractCountPc(@Param("query") ApplyTotalCondition applyTotalCondition);
    /**
     * 获取合同申请信息
     * */
    List<ApplyContractInfo> getContractList(@Param("channelId") String channelId,@Param("status") String status,@Param("createBy") String createBy,@Param("deptIds") List<String> deptIds,@Param("roleList") List<RoleVo> roleList,@Param("deptId") String deptId,@Param("gpsStatus") String gpsStatus);
    /**
     * 获取GPS二次派单信息
     * */
    List<ApplyContractInfo> getGpsAgainList(@Param("channelId") String channelId,@Param("status") String status);

    /**
     * 获取合同激活订单
     * */
    List<ApplyActiveContractVo> getContractInfoByCreditCode(@Param("creditCode") String creditCode);
    /**
     * 获取合同激活订单
     * */
    List<ApplyAllAomVo> getContractAllAom(@Param("creditCode") String creditCode, @Param("criticalTime") String criticalTime);
    /**
     * 获取合同审核中订单
     * */
    List<ApplyContractInfo> getContractInfoByAom(@Param("creditCode") String creditCode, @Param("criticalTime") String criticalTime);
    /**
     * 根据vin获取合同信息
     * */
    List<ApplyContractVinVo> getContractInfoByVin(@Param("vin") String vin);
}
